/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package configuraciones;

import org.cip.esymons.general.bc.*;
import org.cip.esymons.general.be.Menu;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
 * @author Lizardo Rios
 */
public class MenuDelegate {
    public MenuFacadeLocal local;

    public MenuDelegate() {
        local=lookupMenuFacade();
    }
    public void create(Menu menu){
        local.create(menu);
    }

    public void edit(Menu menu){
        local.edit(menu);
    }

    public void remove(Menu menu){
        local.remove(menu);
    }

    public Menu find(Object id){
        return local.find(id);
    }

    public List<Menu> findAll(){
        return local.findAll();
    }

    public List<Menu> listarMenuActivos() {
        return local.listarMenuActivos();
    }

    public List<Menu> menuPadre(Integer modulo){
        return local.menuPadre(modulo);
    }

    public List<Menu> menuPadreA(Integer modulo, String uweCuenta){
        return local.menuPadreA(modulo, uweCuenta);
    }

    public List<Menu> menuHijo(Menu menu){
        return local.menuHijo(menu);
    }

    public List<Menu> menuHijoA(Menu menu, String uweCuenta){
        return local.menuHijoA(menu, uweCuenta);
    }

    public List<Menu> listaMenuPorCodigo(int codigo) {
        return local.listaMenuPorCodigo(codigo);
    }

    public List<Menu> listarMenus(String uweCuenta) throws Exception {
        return local.listarMenus(uweCuenta);
    }

    public List<Menu> menuTodosHijo() throws Exception {
        return local.menuTodosHijo();
    }

//    public List<Menu> listarMenuXModulo(Integer modCodigo) {
//        return local.listarMenuXModulo(modCodigo);
//    }

    private MenuFacadeLocal lookupMenuFacade() {
        try {
            Context c = new InitialContext();
            return (MenuFacadeLocal) c.lookup("java:comp/env/MenuFacade");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }

   

    
}
